In PHP zijn de `while` en `do-while` lussen twee controle structuren die worden gebruikt om een blok code meerdere keren uit te voeren zolang aan een bepaalde voorwaarde wordt voldaan. Beide lussen lijken qua functionaliteit op elkaar, maar er is een fundamenteel verschil tussen hen met betrekking tot het moment waarop de voorwaarde wordt geëvalueerd.
De `while` lus blijft een blok code uitvoeren zolang de gegeven voorwaarde waar is. De voorwaarde wordt geëvalueerd aan het begin van elke lusiteratie, wat betekent dat als de voorwaarde vanaf het begin onwaar is, het codeblok helemaal niet zal worden uitgevoerd.
Syntax:
```
while (voorwaarde) {
// code die herhaaldelijk wordt uitgevoerd zolang de voorwaarde waar is
}
```
Voorbeeld:
```
$i = 1;
while ($i <= 5) {
echo “De waarde van i is: $i\n”;
$i++;
}
```
In dit voorbeeld zal de `while` lus het bericht “De waarde van i is: $i” afdrukken zolang de waarde van `$i` kleiner dan of gelijk is aan 5. Wanneer `$i` groter wordt dan 5, stopt de lus.
De `do-while` lus lijkt op de `while` lus, maar met een belangrijk verschil: de voorwaarde wordt aan het einde van elke lusiteratie geëvalueerd. Dit betekent dat het codeblok minimaal één keer wordt uitgevoerd, ongeacht of de voorwaarde vanaf het begin waar is of niet.
Syntax:
```
do {
// code die minstens één keer wordt uitgevoerd
} while (voorwaarde);
```
Voorbeeld:
```
$i = 6;
do {
echo “De waarde van i is: $i\n”;
$i++;
} while ($i <= 5);
```
In dit geval zal de `do-while` lus het bericht “De waarde van i is: 6” één keer afdrukken, zelfs al is de voorwaarde `$i <= 5` onwaar vanaf het begin. Dit komt doordat de evaluatie van de voorwaarde pas na de eerste keer uitvoeren van het codeblok gebeurt.
- Evaluatiemoment: Bij de `while` lus wordt de voorwaarde vóór de uitvoering van het codeblok geëvalueerd, terwijl bij de `do-while` lus de voorwaarde na de uitvoering van het codeblok wordt geëvalueerd.
- Minimale Executies: De `while` lus kan nul keer worden uitgevoerd als de voorwaarde vanaf het begin onwaar is. De `do-while` lus zal echter altijd minimaal één keer worden uitgevoerd, ongeacht de voorwaarde.
De volgende informatie is gebaseerd op de officiële PHP documentatie en betrouwbare programmeerbronnen:
- [PHP Manual: Control Structures](https://www.php.net/manual/en/control-structures.while.php)
- [W3Schools PHP while Loop](https://www.w3schools.com/php/php_looping_while.asp)
- [GeeksforGeeks PHP do-while Loop](https://www.geeksforgeeks.org/php-do-while-loop/)
Deze bronnen geven een gedetailleerde uitleg en voorbeelden van het gebruik van `while` en `do-while` lussen in PHP.